.\"
.\" Copyright (C) 1994-2021 Altair Engineering, Inc.
.\" For more information, contact Altair at www.altair.com.
.\"
.\" This file is part of both the OpenPBS software ("OpenPBS")
.\" and the PBS Professional ("PBS Pro") software.
.\"
.\" Open Source License Information:
.\"
.\" OpenPBS is free software. You can redistribute it and/or modify it under
.\" the terms of the GNU Affero General Public License as published by the
.\" Free Software Foundation, either version 3 of the License, or (at your
.\" option) any later version.
.\"
.\" OpenPBS is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
.\" License for more details.
.\"
.\" You should have received a copy of the GNU Affero General Public License
.\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
.\"
.\" Commercial License Information:
.\"
.\" PBS Pro is commercially licensed software that shares a common core with
.\" the OpenPBS software.  For a copy of the commercial license terms and
.\" conditions, go to: (http://www.pbspro.com/agreement.html) or contact the
.\" Altair Legal Department.
.\"
.\" Altair's dual-license business model allows companies, individuals, and
.\" organizations to create proprietary derivative works of OpenPBS and
.\" distribute them - whether embedded or bundled with other software -
.\" under a commercial license agreement.
.\"
.\" Use of Altair's trademarks, including but not limited to "PBS™",
.\" "OpenPBS®", "PBS Professional®", and "PBS Pro™" and Altair's logos is
.\" subject to Altair's trademark licensing policies.
.\"
.TH pbs_queue_attributes 7B "6 May 2020" Local "PBS Professional"
.SH NAME
pbs_queue_attributes
\- Attributes of PBS queues
.SH DESCRIPTION
Queues have the following attributes:

.IP acl_group_enable 8
Controls whether group access to the queue obeys the access control list defined in
the 
.I acl_groups 
queue attribute.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior: 
.RS 
.IP True 3
Group access to the queue is limited according to the group access control list.
.IP False 3
All groups are allowed access.
.RE
.IP
Default: 
.I False

.IP acl_groups 8
List of groups which are allowed or denied access to this queue. The
groups in the list are groups on the server host, not submitting
hosts.  List is evaluated left-to-right; first match in list is used.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<group name>[, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP acl_host_enable 8
Controls whether host access to the queue obeys the access control list defined in
the 
.I acl_hosts 
queue attribute.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior: 
.RS 
.IP True 3
Host access to the queue is limited according to the host access control list.
.IP False 3
All hosts are allowed access.
.RE
.IP
Default: 
.I False

.IP acl_hosts 8
List of hosts from which jobs may be submitted to this queue.  List is
evaluated left-to-right; first match in list is used.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<hostname>[, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP acl_user_enable 8
Controls whether user access to the queue obeys the access control list defined in
the 
.I acl_users 
queue attribute.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior: 
.RS 
.IP True 3
User access to the queue is limited according to the user access control list.
.IP False 3
All users are allowed access.
.RE
.IP
Default: 
.I False

.IP acl_users 8
List of users which are allowed or denied access to this queue.
List is evaluated left-to-right; first match in list is used.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax: "[+|-]<username>[, ...]"
.br
Python type:
.I pbs.acl
.br
Default: No default

.IP alt_router 8
No longer used.

.IP backfill_depth 8
Modifies backfilling behavior for this queue.  Sets the number of jobs 
to be backfilled around in this queue.  Overrides 
.I backfill_depth
server attribute.
.br
Recommendation: set this to less than 
.I 100.
.br
Applies to execution queues.
.br
Readable by all; settable by all.
.br
Format:
.I Integer
.br
Valid values: Must be >=0
.br
Behavior: 
.RS
.IP ">= 0" 3
PBS backfills around the specified number of jobs.
.IP "Unset" 3
Backfill depth is set to 
.I 1.
.RE
.IP
Python type:
.I int
.br
Default: Unset (backfill depth is 1)

.IP checkpoint_min 8
Minimum number of minutes of CPU time or walltime allowed
between checkpoints of a job.  
If a user specifies a time less than this
value, this value is used instead.  The value given in 
.I checkpoint_min
is used for both CPU minutes and walltime minutes.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I pbs.duration
.br
Default: No default

.IP default_chunk 8
The list of resources which will be inserted into each chunk of a job's select 
specification if the corresponding resource is not specified by the user.
This provides a means for a site to be sure a given resource is properly 
accounted for even if not specified by the user.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I default_chunk.<resource name>=<value>
.I [, default_chunk.<resource name>=<value>, ...]
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
default_chunk["<resource name>"]=<value> 
.br
where 
.I resource name
is any built-in or custom resource
.RE
.IP
Default: No default

.IP enabled 8
Specifies whether this queue accepts new jobs.  
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS
.IP True 3
This queue is enabled.  This queue accepts new jobs; new jobs can be enqueued.
.IP False 3
This queue does not accept new jobs.
.RE
.IP
Default: 
.I False
(disabled)

.IP from_route_only 8
Specifies whether this queue accepts jobs only from routing queues, or
from both execution and routing queues.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS
.IP True 3
This queue accepts jobs only from routing queues.
.IP False 3
This queue accepts jobs from both execution and routing queues,
as well as directly from submitter.
.RE
.IP
Default: 
.I False

.IP hasnodes 8
Indicates whether vnodes are associated with this queue.
.br
Applies to execution queues.
.br
Readable by all; set by PBS.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior: 
.RS 11
When 
.I True,
there are vnodes associated with this queue.
.RE
.IP
Default: 
.I False

.IP kill_delay 8
The time delay between sending SIGTERM and SIGKILL when a qdel command
is issued against a running job.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Units:
.I Seconds
.br
Python type:
.I pbs.duration
.br
Valid values: Must be >= 0
.br
Default: 
.I 10 seconds

.IP max_array_size 8
The maximum number of subjobs that are allowed in an array job.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_group_res 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum amount of the specified resource that any single group may consume
in a complex.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax: 
.I max_group_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_group_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set server max_group_res.ncpus=6
.br
Default: No default

.IP max_group_res_soft 8
Old limit attribute.  Incompatible with new limit attributes.
The soft limit on the amount of the specified resource that any single group may consume
in a complex.
If a group is consuming more than this amount of the specified resource,
their jobs are eligible to be preempted by jobs from groups who are not over
their soft limit.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax: 
.I max_group_res_soft.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax: 
.RS 11
max_group_res_soft["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_group_res_soft.ncpus=3
.br
Default: No default

.IP max_group_run 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs owned by a group that are
allowed to be running from this queue at one time.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_group_run_soft 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs owned by users in a single group that are
allowed to be running from this queue at one time.
If a group has more than this number of jobs
running, their jobs are eligible to be preempted by jobs from groups who are not over
their soft limit.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_queuable 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs allowed to reside in this queue at any given time.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default (no limit)

.IP max_queued 8
Limit attribute.  The maximum number of jobs allowed to be queued
in or running from this queue.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes. 
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_queued["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_queued_res 8
Limit attribute.  The maximum amount of the specified resource 
allowed to be allocated to jobs queued in or running from this queue.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Syntax: 
.I max_queued_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax: 
.RS 11
max_queued_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_queued_res.ncpus=4
.br
Default: No default

.IP max_run 8
Limit attribute.  The maximum number of jobs allowed to be running 
from this queue.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes. 
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_run_res 8
Limit attribute.  The maximum amount of the specified resource 
allowed to be allocated to jobs running from this queue.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Syntax: 
.I max_run_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_run_res.ncpus=4
.br
Default: No default

.IP max_run_res_soft 8
Limit attribute.  Soft limit on the amount of the specified resource 
allowed to be allocated to jobs running from this queue.
Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Syntax: 
.I max_run_res_soft.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run_res_soft["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_run_res_soft.ncpus=2
.br
Default: No default

.IP max_run_soft 8
Limit attribute.  Soft limit on the number of jobs allowed to be running 
from this queue.  Can be specified for projects, users, groups, or all.
Cannot be used with old limit attributes.  
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification.  
See 
.B FORMATS.
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_run_soft["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP max_running 8
Old limit attribute.  Incompatible with new limit attributes.
For an execution queue, this is the largest number of jobs allowed to 
be running at any given time.  For a routing queue, this is the largest
number of jobs allowed to be transiting from this queue at any given 
time.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_user_res 8 
Old limit attribute.  Incompatible with new limit attributes.
The maximum amount of the specified resource that any single user may consume.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.I max_user_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_user_res["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_user_res.ncpus=2
.br
Default: No default

.IP max_user_res_soft 8
Old limit attribute.  Incompatible with new limit attributes.
The soft limit on the amount of the specified resource that any single user may consume.
If a user is consuming more than this amount of the specified resource,
their jobs are eligible to be preempted by jobs from users who are not over
their soft limit.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.I max_user_res_soft.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
max_user_res_soft["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq max_user_res_soft.ncpus=2
.br
Default: No default

.IP max_user_run 8
Old limit attribute.  Incompatible with new limit attributes.
The maximum number of jobs owned by a single user that are allowed to be 
running from this queue at one time.  
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP max_user_run_soft 8
Old limit attribute.  Incompatible with new limit attributes.
The soft limit on the number of jobs owned by any single user that are allowed to be
running from this queue at one time.  If a user has more than this number of jobs
running, their jobs are eligible to be preempted by jobs from users who are not over
their soft limit.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default

.IP node_group_key 8
Specifies the resources to use for placement sets.  Overrides server's 
.I node_group_key
attribute.  Specified resources must be of type 
.I string_array.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I string_array
.br
Syntax:
.RS 11
.I Comma-separated list of resource names.  
.br
When specifying multiple resources, enclose value in double quotes.
.RE
.IP
Python type:
.I pbs.node_group_key
.br
Example:
.RS 11
Qmgr> set queue workq node_group_key=<resource name>
.RE
.IP
Default: No default

.IP partition 8
Name of partition to which this queue is assigned.  Cannot be set for
routing queue.  An execution queue cannot be changed to a routing
queue while this attribute is set.
.br
Applies to execution queues.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Python type: 
.I str
.br
Default: No default

.IP Priority 8
The priority of this queue compared to other queues of the same type
in this PBS complex.  Priority can define a queue as an express queue.  See 
.I preempt_queue_prio
in the pbs_sched(8B) man page.  Used for execution queues only; the value
of 
.I Priority 
has no meaning for routing queues.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Valid values: -1024 to 1023
.br
Python type:
.I int
.br
Default: No default

.IP queued_jobs_threshold 8
Limit attribute.  The maximum number of jobs allowed
to be queued in this queue.  Can be specified for
projects, users, groups, or all.  Cannot be used with old limit
attributes.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Limit specification;
See 
.B LIMITS
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
queued_jobs_threshold["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Default: No default

.IP queued_jobs_threshold_res 8
Limit attribute.  The maximum amount of the specified resource allowed
to be allocated to jobs queued in this queue.  Can be specified for
projects, users, groups, or all.  Cannot be used with old limit
attributes.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I limit specification.
See 
.B LIMITS
.br
Syntax:
.I queued_jobs_threshold_res.<resource name>=<value>
.br
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
queued_jobs_threshold_res_["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP
Valid values: Any PBS resource, e.g. "ncpus", "mem", "pmem"
.br
Example: 
.I set queue workq queued_jobs_threshold_res.ncpus=8
.br
Default: No default

.IP queue_type 8
The type of the queue.  This attribute must be explicitly set 
at queue creation.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Python type: 
.RS 11
PBS queue type constant: 
.I pbs.QUEUETYPE_EXECUTION 
or 
.I pbs.QUEUETYPE_ROUTE
.RE
.IP
Valid values: "e", "execution", "r", "route"
.br
Default: No default

.IP require_cred 8
Specifies the credential type required.  All jobs submitted to the named 
queue without the specified credential will be rejected.  
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Python type:
.I str
.br
Valid values:
.I krb5
or 
.I dce
.br
Default: Unset

.IP require_cred_enable 8
Specifies whether the credential authentication method specified in the 
.I require_cred 
queue attribute is required for this queue. 
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 11
When set to 
.I True,
the credential authentication method is required.
.RE
.IP
Default: 
.I False

.IP resources_assigned 8
The total for each kind of resource allocated to running and 
exiting jobs in this queue.
.br
Applies to execution queues.
.br
Readable by all; set by PBS.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I resources_assigned.<resource name>=<value><newline> 
.I resources_assigned.<resource name>=<value><newline> ...
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_assigned["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default value: No default

.IP resources_available 8
The list of resources and amounts available to jobs running in this
queue. The sum of the resource of each type used by all jobs running
from this queue cannot exceed the total amount listed here.  See the
.I qmgr(1B) 
man page.
.br
Applies to execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I resources_available.<resource name>=<value><newline> 
.I resources_available.<resource name>=<value><newline> ...
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_available["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default value: No default

.IP resources_default 8
The list of default resource values which are set as limits for a job 
residing in this queue and for which the job did not specify a limit.  
If not explicitly set, the default limit for a job is determined by
the first of the following attributes which is set: server's 
.I resources_default,
queue's 
.I resources_max, 
server's 
.I resources_max.  
If none of these is set, the job gets unlimited resource usage.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I resources_default.<resource name>=<value>,
.I resources_default.<resource name>=<value>, ...
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_default["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default value: No default

.IP resources_max 8
The maximum amount of each resource that can be requested by a single job
in this queue.  The queue value supersedes any server wide maximum limit.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I resources_max.<resource name>=<value>,
.I resources_max.<resource name>=<value>, ...
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_max["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default value: No default (infinite usage)

.IP resources_min 8
The minimum amount of each resource that can be requested by a single job
in this queue.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
.nf
.I resources_min.<resource name>=<value>,
.I resources_min.<resource name>=<value>, ...
.fi
.RE
.IP
Python type:
.I pbs.pbs_resource
.br
Syntax:
.RS 11
resources_min["<resource name>"]=<value> 
.br
where 
.I resource name 
is any built-in or custom resource
.RE
.IP 
Default value: No default (zero usage)

.IP route_destinations 8
The list of destinations to which jobs may be routed.
.br
Must be set to at least one valid destination.
.br
Applies to routing queues.
.br
Readable by all; settable by Manager.
.br
Format:
.I String
.br
Syntax:
.RS 11
List of comma-separated strings:
.br
.I <queue name>[@<server host>[:<port>]]
.RE
.IP
Python type:
.I pbs.route_destinations
.br
Example:  
.I Q1,Q2@remote,Q3@remote:15501
.br
Default: No default

.IP route_held_jobs 8
Specifies whether jobs in the 
.I held
state can be routed from this queue.
.br
Applies to routing queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior:
.RS 11
When 
.I True, 
jobs with a hold can be routed from this queue.
.RE
.IP
Default: 
.I False

.IP route_lifetime 8
The maximum time a job is allowed to reside in this routing queue.  If a job
cannot be routed in this amount of time, the job is aborted.
.br
Applies to routing queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer
.br
Units:
.I Seconds
.br
Python type:
.I pbs.duration
.br
Behavior:
.RS 
.IP >0 3
Jobs can reside for specified number of seconds
.IP "0 or unset" 3
Jobs can reside for infinite time
.RE
.IP
Default: Unset

.IP route_retry_time 8
Time delay between routing retries.  Typically used when the network between
servers is down.  
.br
Applies to routing queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Integer 
.br
Units: 
.I Seconds
.br
Python type:
.I pbs.duration
.br
Default: 
.I 30 seconds

.IP route_waiting_jobs 8
Specifies whether jobs whose 
.I Execution_Time 
attribute value is in the future can be routed from this queue. 
.br
Applies to routing queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean 
.br
Python type:
.I bool
Behavior:
.RS 11
When 
.I True,
jobs with a future
.I Execution_Time 
can be routed from this queue.
.RE
.IP
Default: 
.I False

.IP started 8
If this is an execution queue, specifies whether jobs in this queue can be scheduled for execution, 
or if this is a routing queue, whether jobs can be routed.
.br
Applies to routing and execution queues.
.br
Readable by all; settable by Operator and Manager.
.br
Format:
.I Boolean
.br
Python type:
.I bool
.br
Behavior: When
.I True, 
jobs in this queue can run or be routed.
.br
Default: 
.I False

.IP state_count 8
The total number of jobs in each state currently residing in this queue.
.br
Applies to routing and execution queues.
.br
Readable by all; set by PBS.
.br
Format:
.I String
.br
Syntax: 
.I transiting=<value>,exiting=<value>, ...
.br
Python type:
.I pbs.state_count
.br
Default: No default

.IP total_jobs 8
The number of jobs currently residing in this queue.
.br
Applies to routing and execution queues.
.br
Readable by all; set by PBS.
.br 
Format:
.I Integer
.br
Python type:
.I int
.br
Default: No default


.SH FORMATS

.IP "Limit specification" 8
Limit attributes can be set, added to, or removed from.

Format for setting a limit specification:
.RS 11
.nf
set server <limit attribute> = "<limit specification>=<limit>[, <limit specification>=<limit>] ..."
.fi
.RE
.IP
Format for adding to a limit specification:
.RS 11
.nf
set server <limit attribute> += "<limit specification>=<limit>[, <limit specification>=<limit>] ..."
.fi
.RE
.IP
Format for removing from a limit specification:
.RS 11
.nf
set server <limit attribute> -= "<limit specification>=<limit>[, [<limit specification>=<limit>] ..."
.br
or
.br
set server <limit attribute> -= "<limit specification>[, <limit specification>] ..."
.fi
.RE
.IP
Where 
.I limit specification 
is 
.RS 11
o:PBS_ALL         Overall limit
.br
u:PBS_GENERIC     Generic users
.br
u:<username>      A specific user
.br
g:PBS_GENERIC     Generic groups
.br
g:<group name>    A specific group
.br
p:PBS_GENERIC     Generic projects
.br
p:<project name>  A specific project
.RE
.IP
The 
.I limit specification 
can contain spaces anywhere except after the colon
(":").
.br
If there are comma-separated 
.I limit specifications, 
the entire string must be enclosed in double quotes.
.br
A username, groupname, or project name containing spaces must be
enclosed in quotes.
.br
If a username, groupname, or project name is quoted using double
quotes, and the entire string requires quotes, the outer enclosing
quotes must be single quotes.  Similarly, if the inner quotes are
single quotes, the outer quotes must be double quotes.
.br
.I PBS_ALL 
is a keyword which indicates that this limit applies to the usage total.
.br
.I PBS_GENERIC 
is a keyword which indicates that this limit applies to
generic users, groups, or projects.
.br
When removing a limit, the 
.I limit value 
does not need to be specified.
.br

For example, to set the 
.I max_queued 
limit on QueueA to 5 for total usage, and to limit user bill to 3:
.RS 11
s q QueueA max_queued = "[o:PBS_ALL=5], [u:bill =3]"
.RE
.IP

Examples of setting, adding, and removing: 
.br
.RS 11
set server max_run="[u:PBS_GENERIC=2], [g:group1=10], [o:PBS_ALL = 100]"
.br
set server max_run+="[u:user1=3], [g:PBS_GENERIC=8]"
.br
set server max_run-="[u:user2], [g:group3]"
.br
set server max_run_res.ncpus="[u:PBS_GENERIC=2], [g:group1=8], [o:PBS_ALL = 64]"
.RE
.IP

.SH Incompatible Limit Attributes
The old and new limit attributes are incompatible.  
If any of one kind is set, none of the other kind can be set.
All of one kind must be unset in order to set any of the other kind.
.br


.SH SEE ALSO
qmgr(1B)
